package com.mttk.api.addon.ai.pool;

import com.mttk.api.addon.annotation.ui.Control;
import com.mttk.api.addon.annotation.ui.Panel;
import com.mttk.api.addon.annotation.ui.Table;

//deepseek-chat,deepseek-reasoner
@Panel(key = "dsPanel", label = "", bindings = { "show:this.data.provider=='ds'" })
@Control(key = "ds_model", parent = "dsPanel", label = "模型", description = "参数含义请参考  https://api-docs.deepseek.com/zh-cn/api/create-chat-completion", mandatory = true, mode = "select", defaultVal = "deepseek-chat", props = {"allowCreate:true","options:deepseek-chat,deepseek-reasoner"})
@Control(key = "ds_url", parent = "dsPanel", label = "基础URL", mandatory = true, defaultVal = "https://api.deepseek.com")
//参数示意
@Control(key = "prop_ds_max_tokens", parent = "dsPanel", defaultVal = "", props = {
		"dataType:number" }, label = "max_tokens")
@Control(key = "prop_ds_temperature", parent = "dsPanel", defaultVal = "", props = {
		"dataType:number" }, label = "temperature")
@Control(key = "prop_ds_top_p", parent = "dsPanel", defaultVal = "", props = { "dataType:number" }, label = "top_p")
@Control(key = "prop_ds_frequency_penalty", parent = "dsPanel", defaultVal = "", props = {
		"dataType:number" }, label = "frequency_penalty")
@Control(key = "prop_ds_presence_penalty", parent = "dsPanel", defaultVal = "", props = {
		"dataType:number" }, label = "presence_penalty")
@Control(key = "prop_ds_response_format", parent = "dsPanel", defaultVal = "", mode = "select", props = {
		"allowCreate:true","options:text,json_object" }, label = "response_format")

@Control(key = "prop_ds_logprobs", parent = "dsPanel", defaultVal = "false", mode = "checkbox", label = "logprobs")
@Control(key = "prop_ds_top_logprobs", parent = "dsPanel", defaultVal = "", props = { "dataType:number" }, bindings = {
		"show:this.data.prop_ds_logprobs" }, label = "top_logprobs")
@Control(key = "prop_ds_stream", parent = "dsPanel", mode = "checkbox", defaultVal = "false", bindings = {
		"show:false" }, props = { "dataType:number" }, label = "stream")
@Table(key = "prop_ds_stop", parent = "dsPanel", props = { "width:30%", "labelWidth: 120px" }, label = "stop")
@Control(key = "value", label = "stop", size = 1, mandatory = true, parent = "prop_ds_stop")
public interface AiPoolDeepseek {

}
